package com.xziying.appstore.api;


import java.util.List;
import java.util.Map;

/**
 * DatabaseService
 *
 * @author : xziying
 * @create : 2021-03-29 20:15
 */
public interface DatabaseService {
    String test(String arg);

    /**
     * 登录
     * @param account 账号
     * @param password 密码
     */
    String login(String account, String password);

    /**
     * 获取插件列表
     * @param token 登录令牌
     */
    String getPluginList(String token);

    /**
     * 根据插件类名获取pid
     * @param clazz 插件类名
     * @return pid
     */
    Integer getPluginPic(String clazz);

    /**
     * 根据用户token和插件ID和所属处理QQ数据库取回key-value的Map映射表
     * @param token 用户token
     * @param pid 插件id
     * @param fromQQ  所属QQ
     */
    Map<String, String> queryConfig(String token, int pid, String fromQQ);


    /**
     * 更新插件配置，key不存在时创建一条记录
     * @param token 用户token
     * @param pid 插件id
     * @param fromQQ 所属QQ
     * @param key 键
     * @param value 值
     * @return 0 为添加成功 其他为错误代码
     */
    int updateConfig(String token, int pid, String fromQQ, String key, String value);


    /**
     * 获取插件开关配置
     */
    String querySwitch(String token);

    /**
     * 更新插件开关配置
     */
    int updateSwitch(String token, String clazz, int weight, int state);

    /**
     * 交换权值配置
     */
    int swapSwitch(String token, String clazz1, int weight1, String clazz2, int weight2);

    /**
     * 获取授权器
     */
    byte[] getVerificationCodeCloud();
}
